<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>l8w8jwt: l8w8jwt_decoding_params Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">l8w8jwt
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structl8w8jwt__decoding__params-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">l8w8jwt_decoding_params Struct Reference</div></div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="decode_8h_source.html">decode.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a5fdb41e8f132385efd054f82c5e8b3d9" id="r_a5fdb41e8f132385efd054f82c5e8b3d9"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#a5fdb41e8f132385efd054f82c5e8b3d9">jwt</a></td></tr>
<tr class="separator:a5fdb41e8f132385efd054f82c5e8b3d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75ba9b9c4dc7bd55b8e058f45fe8b66f" id="r_a75ba9b9c4dc7bd55b8e058f45fe8b66f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#a75ba9b9c4dc7bd55b8e058f45fe8b66f">jwt_length</a></td></tr>
<tr class="separator:a75ba9b9c4dc7bd55b8e058f45fe8b66f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cbaab2006eac325b92c1874020bcb1a" id="r_a8cbaab2006eac325b92c1874020bcb1a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#a8cbaab2006eac325b92c1874020bcb1a">alg</a></td></tr>
<tr class="separator:a8cbaab2006eac325b92c1874020bcb1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5d10ab43c502392651694732ed8fda8" id="r_ae5d10ab43c502392651694732ed8fda8"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#ae5d10ab43c502392651694732ed8fda8">validate_iss</a></td></tr>
<tr class="separator:ae5d10ab43c502392651694732ed8fda8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a645db2f730d9b0ce002a880668ab7454" id="r_a645db2f730d9b0ce002a880668ab7454"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#a645db2f730d9b0ce002a880668ab7454">validate_iss_length</a></td></tr>
<tr class="separator:a645db2f730d9b0ce002a880668ab7454"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa56aa468e6e2b9c2959132bab437483" id="r_afa56aa468e6e2b9c2959132bab437483"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#afa56aa468e6e2b9c2959132bab437483">validate_sub</a></td></tr>
<tr class="separator:afa56aa468e6e2b9c2959132bab437483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c8ee31f16fab0d48729dc31e167de02" id="r_a0c8ee31f16fab0d48729dc31e167de02"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#a0c8ee31f16fab0d48729dc31e167de02">validate_sub_length</a></td></tr>
<tr class="separator:a0c8ee31f16fab0d48729dc31e167de02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5b8371d5581fe15a71a5968b5977d65" id="r_af5b8371d5581fe15a71a5968b5977d65"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#af5b8371d5581fe15a71a5968b5977d65">validate_aud</a></td></tr>
<tr class="separator:af5b8371d5581fe15a71a5968b5977d65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7453ddfdbaed3362a1626dede873f1d" id="r_ac7453ddfdbaed3362a1626dede873f1d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#ac7453ddfdbaed3362a1626dede873f1d">validate_aud_length</a></td></tr>
<tr class="separator:ac7453ddfdbaed3362a1626dede873f1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51fb2069e35d1186557818ad634abaef" id="r_a51fb2069e35d1186557818ad634abaef"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#a51fb2069e35d1186557818ad634abaef">validate_jti</a></td></tr>
<tr class="separator:a51fb2069e35d1186557818ad634abaef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0aa8ad49c38feee387bbbbcdd29d236" id="r_ab0aa8ad49c38feee387bbbbcdd29d236"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#ab0aa8ad49c38feee387bbbbcdd29d236">validate_jti_length</a></td></tr>
<tr class="separator:ab0aa8ad49c38feee387bbbbcdd29d236"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78e1278b897e58a4a56ba7e857a8d672" id="r_a78e1278b897e58a4a56ba7e857a8d672"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#a78e1278b897e58a4a56ba7e857a8d672">validate_exp</a></td></tr>
<tr class="separator:a78e1278b897e58a4a56ba7e857a8d672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d16e5c10676157d9d5b83486a1b00e0" id="r_a0d16e5c10676157d9d5b83486a1b00e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#a0d16e5c10676157d9d5b83486a1b00e0">validate_nbf</a></td></tr>
<tr class="separator:a0d16e5c10676157d9d5b83486a1b00e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcf86bc0b5c133372740e083dac04219" id="r_abcf86bc0b5c133372740e083dac04219"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#abcf86bc0b5c133372740e083dac04219">validate_iat</a></td></tr>
<tr class="separator:abcf86bc0b5c133372740e083dac04219"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0ef21e8425991d8540669ab64205f01" id="r_aa0ef21e8425991d8540669ab64205f01"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#aa0ef21e8425991d8540669ab64205f01">exp_tolerance_seconds</a></td></tr>
<tr class="separator:aa0ef21e8425991d8540669ab64205f01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa06c18153fe45feeb19941d2c9882d80" id="r_aa06c18153fe45feeb19941d2c9882d80"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#aa06c18153fe45feeb19941d2c9882d80">nbf_tolerance_seconds</a></td></tr>
<tr class="separator:aa06c18153fe45feeb19941d2c9882d80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc989e7e2824e4ecc18ca5119b53851c" id="r_acc989e7e2824e4ecc18ca5119b53851c"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#acc989e7e2824e4ecc18ca5119b53851c">iat_tolerance_seconds</a></td></tr>
<tr class="separator:acc989e7e2824e4ecc18ca5119b53851c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3a727dbda6d1a1b06934249a86b05c5" id="r_af3a727dbda6d1a1b06934249a86b05c5"><td class="memItemLeft" align="right" valign="top">unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#af3a727dbda6d1a1b06934249a86b05c5">verification_key</a></td></tr>
<tr class="separator:af3a727dbda6d1a1b06934249a86b05c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeafb73bb540cf91f61dbda889a470d96" id="r_aeafb73bb540cf91f61dbda889a470d96"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#aeafb73bb540cf91f61dbda889a470d96">verification_key_length</a></td></tr>
<tr class="separator:aeafb73bb540cf91f61dbda889a470d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd1ba89e6711e88737cf2aa6f8baecf0" id="r_afd1ba89e6711e88737cf2aa6f8baecf0"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#afd1ba89e6711e88737cf2aa6f8baecf0">validate_typ</a></td></tr>
<tr class="separator:afd1ba89e6711e88737cf2aa6f8baecf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a413a660dc265f49ca68f9965d193c138" id="r_a413a660dc265f49ca68f9965d193c138"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl8w8jwt__decoding__params.html#a413a660dc265f49ca68f9965d193c138">validate_typ_length</a></td></tr>
<tr class="separator:a413a660dc265f49ca68f9965d193c138"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Struct containing the parameters to use for decoding and validating a JWT. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a8cbaab2006eac325b92c1874020bcb1a" name="a8cbaab2006eac325b92c1874020bcb1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8cbaab2006eac325b92c1874020bcb1a">&#9670;&#160;</a></span>alg</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int l8w8jwt_decoding_params::alg</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The signature algorithm ID. </p>
<p>[0;2] = HS256/384/512 | [3;5] = RS256/384/512 | [6;8] = PS256/384/512 | [9;11] = ES256/384/512 </p>
<p>This affects what should be the value of <code><a class="el" href="structl8w8jwt__decoding__params.html#af3a727dbda6d1a1b06934249a86b05c5">verification_key</a></code> </p>

</div>
</div>
<a id="aa0ef21e8425991d8540669ab64205f01" name="aa0ef21e8425991d8540669ab64205f01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0ef21e8425991d8540669ab64205f01">&#9670;&#160;</a></span>exp_tolerance_seconds</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t l8w8jwt_decoding_params::exp_tolerance_seconds</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Small inconsistencies in time can happen, or also latency between clients and servers. That's just life. You can forgive a few seconds of expiration, but don't exaggerate this! </p>
<p>Only taken into consideration if <code><a class="el" href="structl8w8jwt__decoding__params.html#a78e1278b897e58a4a56ba7e857a8d672">validate_exp</a></code> is set to <code>1</code>. </p>

</div>
</div>
<a id="acc989e7e2824e4ecc18ca5119b53851c" name="acc989e7e2824e4ecc18ca5119b53851c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc989e7e2824e4ecc18ca5119b53851c">&#9670;&#160;</a></span>iat_tolerance_seconds</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t l8w8jwt_decoding_params::iat_tolerance_seconds</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The amount of seconds to subtract from the current time when comparing the "issued at" claim, to allow for a small tolerance time frame. Only taken into consideration if <code><a class="el" href="structl8w8jwt__decoding__params.html#abcf86bc0b5c133372740e083dac04219">validate_iat</a></code> is set to <code>1</code>. </p>

</div>
</div>
<a id="a5fdb41e8f132385efd054f82c5e8b3d9" name="a5fdb41e8f132385efd054f82c5e8b3d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fdb41e8f132385efd054f82c5e8b3d9">&#9670;&#160;</a></span>jwt</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* l8w8jwt_decoding_params::jwt</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The token to decode and validate. </p>

</div>
</div>
<a id="a75ba9b9c4dc7bd55b8e058f45fe8b66f" name="a75ba9b9c4dc7bd55b8e058f45fe8b66f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75ba9b9c4dc7bd55b8e058f45fe8b66f">&#9670;&#160;</a></span>jwt_length</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t l8w8jwt_decoding_params::jwt_length</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The jwt string length. </p>

</div>
</div>
<a id="aa06c18153fe45feeb19941d2c9882d80" name="aa06c18153fe45feeb19941d2c9882d80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa06c18153fe45feeb19941d2c9882d80">&#9670;&#160;</a></span>nbf_tolerance_seconds</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t l8w8jwt_decoding_params::nbf_tolerance_seconds</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The amount of seconds to subtract from the current time when comparing the "not before" claim, to allow for a small tolerance time frame. Only taken into consideration if <code><a class="el" href="structl8w8jwt__decoding__params.html#a0d16e5c10676157d9d5b83486a1b00e0">validate_nbf</a></code> is set to <code>1</code>. </p>

</div>
</div>
<a id="af5b8371d5581fe15a71a5968b5977d65" name="af5b8371d5581fe15a71a5968b5977d65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5b8371d5581fe15a71a5968b5977d65">&#9670;&#160;</a></span>validate_aud</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* l8w8jwt_decoding_params::validate_aud</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>[OPTIONAL] The audience claim (who is the JWT intended for? Who is the intended JWT's recipient?). </p>
<p>Set to <code>NULL</code> if you don't want to validate the audience. </p>
<p>The JWT will only pass verification if its <code>aud</code> matches this string. </p><dl class="section see"><dt>See also</dt><dd><a href="https://tools.ietf.org/html/rfc7519#section-4.1.3">https://tools.ietf.org/html/rfc7519#section-4.1.3</a> </dd></dl>

</div>
</div>
<a id="ac7453ddfdbaed3362a1626dede873f1d" name="ac7453ddfdbaed3362a1626dede873f1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7453ddfdbaed3362a1626dede873f1d">&#9670;&#160;</a></span>validate_aud_length</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t l8w8jwt_decoding_params::validate_aud_length</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>validate_aud string length. </p>

</div>
</div>
<a id="a78e1278b897e58a4a56ba7e857a8d672" name="a78e1278b897e58a4a56ba7e857a8d672"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78e1278b897e58a4a56ba7e857a8d672">&#9670;&#160;</a></span>validate_exp</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int l8w8jwt_decoding_params::validate_exp</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Should the expiration claim be verified? If this is set to <code>1</code>, the <code>exp</code> claim will be compared to the current date and time + <code><a class="el" href="structl8w8jwt__decoding__params.html#aa0ef21e8425991d8540669ab64205f01">exp_tolerance_seconds</a></code> </p>

</div>
</div>
<a id="abcf86bc0b5c133372740e083dac04219" name="abcf86bc0b5c133372740e083dac04219"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcf86bc0b5c133372740e083dac04219">&#9670;&#160;</a></span>validate_iat</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int l8w8jwt_decoding_params::validate_iat</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Should the "issued at" claim be verified? If this is set to <code>1</code>, the <code>iat</code> claim will be compared to the current date and time + <code><a class="el" href="structl8w8jwt__decoding__params.html#acc989e7e2824e4ecc18ca5119b53851c">iat_tolerance_seconds</a></code> </p>

</div>
</div>
<a id="ae5d10ab43c502392651694732ed8fda8" name="ae5d10ab43c502392651694732ed8fda8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5d10ab43c502392651694732ed8fda8">&#9670;&#160;</a></span>validate_iss</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* l8w8jwt_decoding_params::validate_iss</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>[OPTIONAL] The issuer claim (who issued the JWT?). </p>
<p>Set to <code>NULL</code> if you don't want to validate the issuer. </p>
<p>The JWT will only pass verification if its <code>iss</code> claim matches this string. </p><dl class="section see"><dt>See also</dt><dd><a href="https://tools.ietf.org/html/rfc7519#section-4.1.1">https://tools.ietf.org/html/rfc7519#section-4.1.1</a> </dd></dl>

</div>
</div>
<a id="a645db2f730d9b0ce002a880668ab7454" name="a645db2f730d9b0ce002a880668ab7454"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a645db2f730d9b0ce002a880668ab7454">&#9670;&#160;</a></span>validate_iss_length</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t l8w8jwt_decoding_params::validate_iss_length</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>validate_iss string length. </p>

</div>
</div>
<a id="a51fb2069e35d1186557818ad634abaef" name="a51fb2069e35d1186557818ad634abaef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51fb2069e35d1186557818ad634abaef">&#9670;&#160;</a></span>validate_jti</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* l8w8jwt_decoding_params::validate_jti</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>[OPTIONAL] The JWT ID. Provides a unique identifier for the token. </p>
<p>Set to <code>NULL</code> if you don't want to validate the jti claim. </p>
<p>The JWT will only pass verification if its <code>jti</code> matches this string. </p><dl class="section see"><dt>See also</dt><dd><a href="https://tools.ietf.org/html/rfc7519#section-4.1.7">https://tools.ietf.org/html/rfc7519#section-4.1.7</a> </dd></dl>

</div>
</div>
<a id="ab0aa8ad49c38feee387bbbbcdd29d236" name="ab0aa8ad49c38feee387bbbbcdd29d236"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0aa8ad49c38feee387bbbbcdd29d236">&#9670;&#160;</a></span>validate_jti_length</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t l8w8jwt_decoding_params::validate_jti_length</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>validate_jti claim length. </p>

</div>
</div>
<a id="a0d16e5c10676157d9d5b83486a1b00e0" name="a0d16e5c10676157d9d5b83486a1b00e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d16e5c10676157d9d5b83486a1b00e0">&#9670;&#160;</a></span>validate_nbf</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int l8w8jwt_decoding_params::validate_nbf</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Should the "not before" claim be verified? If this is set to <code>1</code>, the <code>nbf</code> claim will be compared to the current date and time + <code><a class="el" href="structl8w8jwt__decoding__params.html#aa06c18153fe45feeb19941d2c9882d80">nbf_tolerance_seconds</a></code> </p>

</div>
</div>
<a id="afa56aa468e6e2b9c2959132bab437483" name="afa56aa468e6e2b9c2959132bab437483"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa56aa468e6e2b9c2959132bab437483">&#9670;&#160;</a></span>validate_sub</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* l8w8jwt_decoding_params::validate_sub</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>[OPTIONAL] The subject claim (who is the JWT about?). </p>
<p>Set to <code>NULL</code> if you don't want to validate the subject claim. </p>
<p>The JWT will only pass verification if its <code>sub</code> matches this string. </p><dl class="section see"><dt>See also</dt><dd><a href="https://tools.ietf.org/html/rfc7519#section-4.1.2">https://tools.ietf.org/html/rfc7519#section-4.1.2</a> </dd></dl>

</div>
</div>
<a id="a0c8ee31f16fab0d48729dc31e167de02" name="a0c8ee31f16fab0d48729dc31e167de02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c8ee31f16fab0d48729dc31e167de02">&#9670;&#160;</a></span>validate_sub_length</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t l8w8jwt_decoding_params::validate_sub_length</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>validate_sub string length. </p>

</div>
</div>
<a id="afd1ba89e6711e88737cf2aa6f8baecf0" name="afd1ba89e6711e88737cf2aa6f8baecf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd1ba89e6711e88737cf2aa6f8baecf0">&#9670;&#160;</a></span>validate_typ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* l8w8jwt_decoding_params::validate_typ</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>[OPTIONAL] The typ claim (what type is the token?). </p>
<p>Set to <code>NULL</code> if you don't want to validate the "typ" claim. </p>

</div>
</div>
<a id="a413a660dc265f49ca68f9965d193c138" name="a413a660dc265f49ca68f9965d193c138"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a413a660dc265f49ca68f9965d193c138">&#9670;&#160;</a></span>validate_typ_length</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t l8w8jwt_decoding_params::validate_typ_length</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>validate_typ string length. </p>

</div>
</div>
<a id="af3a727dbda6d1a1b06934249a86b05c5" name="af3a727dbda6d1a1b06934249a86b05c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3a727dbda6d1a1b06934249a86b05c5">&#9670;&#160;</a></span>verification_key</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char* l8w8jwt_decoding_params::verification_key</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The key to use for verifying the token's signature (e.g. if you chose HS256 as algorithm, this will be the HMAC secret; for RS512 this will be the PEM-formatted public RSA key string, etc...). </p>

</div>
</div>
<a id="aeafb73bb540cf91f61dbda889a470d96" name="aeafb73bb540cf91f61dbda889a470d96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeafb73bb540cf91f61dbda889a470d96">&#9670;&#160;</a></span>verification_key_length</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t l8w8jwt_decoding_params::verification_key_length</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Length of the <code><a class="el" href="structl8w8jwt__decoding__params.html#af3a727dbda6d1a1b06934249a86b05c5">verification_key</a></code> </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/l8w8jwt/<a class="el" href="decode_8h_source.html">decode.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
